package com.turbo.cloud.ums.utils.vuemenu;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.List;

@Data
@EqualsAndHashCode()
@ToString(callSuper = true)
@Accessors(chain = true)
public class VueMenu implements Serializable {
    /**
     * 主键
     */
    private String id;

    /**
     * 父级Id
     */
    private String parentId;

    /**
     * 标题
     */
    private String title;

    /**
     * 图标
     */
    private String icon;

    /**
     * 路由地址
     */
    private String path;

    /**
     * 外部链接
     */
    private String url;

    /**
     * 路由名称
     */
    private String name;

    /**
     * 组件路径
     */
    private String component;

    /**
     * 重定向地址
     */
    private String redirect;

    /**
     * 支持多语言
     */
    private String locale;

    /**
     * 是否缓存页面
     */
    private Boolean keepAlive = false;

    /**
     * 显示隐藏菜单：0->隐藏；1->显示
     */
    private Boolean hideInMenu = false;

    /**
     * 显示隐藏面包屑：0->隐藏；1->显示
     */
    private Boolean hideBreadcrumb = false;

    /**
     * 显示隐藏子级菜单：0->隐藏；1->显示
     */
    private Boolean hideChildrenInMenu = false;

    /**
     * 新开标签页 _blank
     */
    private String target;

    /**
     * 元标签
     */
    private VueMenuMeta meta;

    /**
     * 子元素
     */
    private List<VueMenu> children;
}


